<?php
class QuadraBSN extends GenericBSN {

	function __construct() {
		$this->dao = new QuadraDAO();		
	}

	public function consultar($vars) {
		$this->preencher($vars);
		$this->Records = $this->dao->consultar($this->where, $this->params, $this->order . $this->limit);
		$this->Result  = "OK";
	}
	
	public function consultarPK($vars) {
		$this->Records = $this->dao->consultarPK($vars['id']);
		$this->Result = "OK";
	}
	
	public function consultarSQ($vars) {
		$this->Records = $this->dao->consultarSQ($vars['sq_id'], $vars['codigo'] . '%');
		$this->Result = "OK";
	}
	
	public function inserir($vars) {
		$registro['codigo']		 = $vars['codigo'];
		$registro['superquadra'] = $vars['sq_id'];
		$registro['lotacao'] 	 = $vars['lotacao'];
		$registro['juros'] 		 = $vars['juros'];
		
		$planoDAO = new PlanoDAO();
		try {
			$novoplano['descricao'] = 'RECEITAS - QUADRA (' . $vars['codigo'] . ') - ' . $vars['sq_nome'];
			$novoplano['codigo'] 	= $this->dao->getProximoPlano($vars['sq_id']);

			$plano = $planoDAO->inserir($novoplano, false);
			$registro['plano'] 		= $plano['id'];
			
			$novoplano['descricao'] = 'RECEITAS - CONCESSÕES DE JAZIGO';
			$novoplano['codigo'] 	= $novoplano['codigo'] . '001';
			$planoDAO->inserir($novoplano, false);
			
			$novoplano['descricao'] = 'RECEITAS - MANUTENÇÕES';
			$novoplano['codigo']++;
			$planoDAO->inserir($novoplano, false);
			
			$novoplano['descricao'] = 'RECEITAS - SERVIÇOS PRESTADOS';
			$novoplano['codigo']++;
			$planoDAO->inserir($novoplano, false);
			
			$novoplano['descricao'] = 'RECEITAS - FINANCEIRAS';
			$novoplano['codigo']++;
			$planoDAO->inserir($novoplano, false);
			
			$this->Record = $this->dao->inserir($registro);
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->Result  = "ERROR";
			$this->Message = "Erro ao tentar inserir: " . $e->getMessage();
		}
	}
	
	public function alterar($vars) {
		$registro['id'] 	 = $vars['id'];
		$registro['codigo']	 = $vars['codigo'];
		$registro['lotacao'] = $vars['lotacao'];
		$registro['juros']	 = $vars['juros'];
		
		try {		
			$this->Record = $this->dao->alterar($registro); 
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->Result  = "ERROR";
			$this->Message = "Erro ao tentar alterar: " . $e->getMessage();
		}
	}
	
	public function excluir($registro) {
		try {
			$res = $this->dao->excluir($registro['id']);
			$this->Result  = "OK";
		} catch (Exception $e) {
			$this->Result  = "ERROR";
			$this->Message = "Erro ao tentar excluir: " . $e->getMessage();
		}
	}
}
?>